/*
 *************************************************************************
 * The contents of this file are subject to the Openbravo  Public  License
 * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
 * Version 1.1  with a permitted attribution clause; you may not  use this
 * file except in compliance with the License. You  may  obtain  a copy of
 * the License at http://www.openbravo.com/legal/license.html
 * Software distributed under the License  is  distributed  on  an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
 * License for the specific  language  governing  rights  and  limitations
 * under the License.
 * The Original Code is Openbravo ERP.
 * The Initial Developer of the Original Code is Openbravo SLU
 * All portions are Copyright (C) 2008-2014 Openbravo SLU
 * All Rights Reserved.
 * Contributor(s):  ______________________________________.
 ************************************************************************
*/
package com.mes.data;

import com.eam.data.EamFacilitiesColor;
import com.mes.manufacture.data.EmesoJobPlanBom;
import com.mes.plan.data.EmespPlanOrderBom;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.openbravo.base.structure.ActiveEnabled;
import org.openbravo.base.structure.BaseOBObject;
import org.openbravo.base.structure.ClientEnabled;
import org.openbravo.base.structure.OrganizationEnabled;
import org.openbravo.base.structure.Traceable;
import org.openbravo.model.ad.access.User;
import org.openbravo.model.ad.system.Client;
import org.openbravo.model.common.enterprise.Organization;
import org.openbravo.model.common.plm.Product;
import org.openbravo.model.common.uom.UOM;
/**
 * Entity class for entity Emes_PBom_Item (stored in table Emes_PBom_Item).
 *
 * NOTE: This class should not be instantiated directly. To instantiate this
 * class the {@link org.openbravo.base.provider.OBProvider} should be used.
 */
public class EmesPBomItem extends BaseOBObject implements Traceable, ClientEnabled, OrganizationEnabled, ActiveEnabled {
    private static final long serialVersionUID = 1L;
    public static final String TABLE_NAME = "Emes_PBom_Item";
    public static final String ENTITY_NAME = "Emes_PBom_Item";
    public static final String PROPERTY_ID = "id";
    public static final String PROPERTY_EMESPBOM = "emesPbom";
    public static final String PROPERTY_PRODUCT = "product";
    public static final String PROPERTY_PARENT = "parent";
    public static final String PROPERTY_QTY = "qty";
    public static final String PROPERTY_EXPANITEM = "expanItem";
    public static final String PROPERTY_REPLACEPRODUCT = "replaceProduct";
    public static final String PROPERTY_STATUS = "status";
    public static final String PROPERTY_CLIENT = "client";
    public static final String PROPERTY_ORGANIZATION = "organization";
    public static final String PROPERTY_ACTIVE = "active";
    public static final String PROPERTY_CREATIONDATE = "creationDate";
    public static final String PROPERTY_CREATEDBY = "createdBy";
    public static final String PROPERTY_UPDATED = "updated";
    public static final String PROPERTY_UPDATEDBY = "updatedBy";
    public static final String PROPERTY_VERSION = "version";
    public static final String PROPERTY_EMESCOMPONENT = "emesComponent";
    public static final String PROPERTY_LOSSCOEFFICIENT = "lossCoefficient";
    public static final String PROPERTY_STOPEXPAN = "stopExpan";
    public static final String PROPERTY_SOURCETYPE = "sourceType";
    public static final String PROPERTY_VIRTUALPART = "virtualPart";
    public static final String PROPERTY_EMESSTATION = "emesStation";
    public static final String PROPERTY_UOM = "uom";
    public static final String PROPERTY_QTYREAL = "qtyReal";
    public static final String PROPERTY_LEVEL = "level";
    public static final String PROPERTY_SEQNO = "seqno";
    public static final String PROPERTY_DESCRIPTION = "description";
    public static final String PROPERTY_UPLOADBUTTON = "uploadButton";
    public static final String PROPERTY_CHECKBUTTON = "checkButton";
    public static final String PROPERTY_DIYFH = "diyFh";
    public static final String PROPERTY_EMESFILE = "emesFile";
    public static final String PROPERTY_DIYDX = "diyDx";
    public static final String PROPERTY_EMESPROCESS = "emesProcess";
    public static final String PROPERTY_DIYBDK = "diyBdk";
    public static final String PROPERTY_EMESCOLOR = "emesColor";
    public static final String PROPERTY_EMESPBOMFILEGROUP = "emesPbomFileGroup";
    public static final String PROPERTY_NAME = "name";
    public static final String PROPERTY_CODE = "code";
    public static final String PROPERTY_DIY = "diy";
    public static final String PROPERTY_EAMFACILITIESCOLORLIST = "eamFacilitiesColorList";
    public static final String PROPERTY_EMESPBOMITEMPARENTIDLIST = "emesPBomItemParentIDList";
    public static final String PROPERTY_EMESPBOMITEMDIYLIST = "emesPBomItemDiyList";
    public static final String PROPERTY_EMESPBOMITEMFILELIST = "emesPBomItemFileList";
    public static final String PROPERTY_EMESPBOMITEMMETELIST = "emesPBomItemMeteList";
    public static final String PROPERTY_EMESPBOMITEMSHAPELIST = "emesPBomItemShapeList";
    public static final String PROPERTY_EMESPBOMSTATIONLIST = "emesPBomStationList";
    public static final String PROPERTY_EMESPBOMKXXJOINLIST = "emesPbomKxxJoinList";
    public static final String PROPERTY_EMESPBOMKXXJOINCOMPONENTPBOMITEMIDLIST = "emesPbomKxxJoinComponentPbomItemIDList";
    public static final String PROPERTY_EMESPBOMKXXJOINKXXPBOMITEMIDLIST = "emesPbomKxxJoinKxxPbomItemIDList";
    public static final String PROPERTY_EMESPBOMPROCESSFILELIST = "emesPbomProcessFileList";
    public static final String PROPERTY_EMESPROCESSCOMPONENTLIST = "emesProcessComponentList";
    public static final String PROPERTY_EMESOJOBPLANBOMLIST = "emesoJobPlanBomList";
    public static final String PROPERTY_EMESPPLANORDERBOMLIST = "emespPlanOrderBomList";

    public EmesPBomItem() {
        setDefaultValue(PROPERTY_QTY, new BigDecimal(1));
        setDefaultValue(PROPERTY_EXPANITEM, false);
        setDefaultValue(PROPERTY_ACTIVE, true);
        setDefaultValue(PROPERTY_STOPEXPAN, false);
        setDefaultValue(PROPERTY_VIRTUALPART, false);
        setDefaultValue(PROPERTY_UPLOADBUTTON, false);
        setDefaultValue(PROPERTY_CHECKBUTTON, false);
        setDefaultValue(PROPERTY_DIYFH, false);
        setDefaultValue(PROPERTY_DIYDX, false);
        setDefaultValue(PROPERTY_DIYBDK, false);
        setDefaultValue(PROPERTY_DIY, false);
        setDefaultValue(PROPERTY_EAMFACILITIESCOLORLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESPBOMITEMPARENTIDLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESPBOMITEMDIYLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESPBOMITEMFILELIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESPBOMITEMMETELIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESPBOMITEMSHAPELIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESPBOMSTATIONLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESPBOMKXXJOINLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESPBOMKXXJOINCOMPONENTPBOMITEMIDLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESPBOMKXXJOINKXXPBOMITEMIDLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESPBOMPROCESSFILELIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESPROCESSCOMPONENTLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESOJOBPLANBOMLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESPPLANORDERBOMLIST, new ArrayList<Object>());
    }

    @Override
    public String getEntityName() {
        return ENTITY_NAME;
    }

    public String getId() {
        return (String) get(PROPERTY_ID);
    }

    public void setId(String id) {
        set(PROPERTY_ID, id);
    }

    public EmesPBom getEmesPbom() {
        return (EmesPBom) get(PROPERTY_EMESPBOM);
    }

    public void setEmesPbom(EmesPBom emesPbom) {
        set(PROPERTY_EMESPBOM, emesPbom);
    }

    public Product getProduct() {
        return (Product) get(PROPERTY_PRODUCT);
    }

    public void setProduct(Product product) {
        set(PROPERTY_PRODUCT, product);
    }

    public EmesPBomItem getParent() {
        return (EmesPBomItem) get(PROPERTY_PARENT);
    }

    public void setParent(EmesPBomItem parent) {
        set(PROPERTY_PARENT, parent);
    }

    public BigDecimal getQty() {
        return (BigDecimal) get(PROPERTY_QTY);
    }

    public void setQty(BigDecimal qty) {
        set(PROPERTY_QTY, qty);
    }

    public Boolean isExpanItem() {
        return (Boolean) get(PROPERTY_EXPANITEM);
    }

    public void setExpanItem(Boolean expanItem) {
        set(PROPERTY_EXPANITEM, expanItem);
    }

    public Product getReplaceProduct() {
        return (Product) get(PROPERTY_REPLACEPRODUCT);
    }

    public void setReplaceProduct(Product replaceProduct) {
        set(PROPERTY_REPLACEPRODUCT, replaceProduct);
    }

    public String getStatus() {
        return (String) get(PROPERTY_STATUS);
    }

    public void setStatus(String status) {
        set(PROPERTY_STATUS, status);
    }

    public Client getClient() {
        return (Client) get(PROPERTY_CLIENT);
    }

    public void setClient(Client client) {
        set(PROPERTY_CLIENT, client);
    }

    public Organization getOrganization() {
        return (Organization) get(PROPERTY_ORGANIZATION);
    }

    public void setOrganization(Organization organization) {
        set(PROPERTY_ORGANIZATION, organization);
    }

    public Boolean isActive() {
        return (Boolean) get(PROPERTY_ACTIVE);
    }

    public void setActive(Boolean active) {
        set(PROPERTY_ACTIVE, active);
    }

    public Date getCreationDate() {
        return (Date) get(PROPERTY_CREATIONDATE);
    }

    public void setCreationDate(Date creationDate) {
        set(PROPERTY_CREATIONDATE, creationDate);
    }

    public User getCreatedBy() {
        return (User) get(PROPERTY_CREATEDBY);
    }

    public void setCreatedBy(User createdBy) {
        set(PROPERTY_CREATEDBY, createdBy);
    }

    public Date getUpdated() {
        return (Date) get(PROPERTY_UPDATED);
    }

    public void setUpdated(Date updated) {
        set(PROPERTY_UPDATED, updated);
    }

    public User getUpdatedBy() {
        return (User) get(PROPERTY_UPDATEDBY);
    }

    public void setUpdatedBy(User updatedBy) {
        set(PROPERTY_UPDATEDBY, updatedBy);
    }

    public String getVersion() {
        return (String) get(PROPERTY_VERSION);
    }

    public void setVersion(String version) {
        set(PROPERTY_VERSION, version);
    }

    public EmesComponent getEmesComponent() {
        return (EmesComponent) get(PROPERTY_EMESCOMPONENT);
    }

    public void setEmesComponent(EmesComponent emesComponent) {
        set(PROPERTY_EMESCOMPONENT, emesComponent);
    }

    public BigDecimal getLossCoefficient() {
        return (BigDecimal) get(PROPERTY_LOSSCOEFFICIENT);
    }

    public void setLossCoefficient(BigDecimal lossCoefficient) {
        set(PROPERTY_LOSSCOEFFICIENT, lossCoefficient);
    }

    public Boolean isStopExpan() {
        return (Boolean) get(PROPERTY_STOPEXPAN);
    }

    public void setStopExpan(Boolean stopExpan) {
        set(PROPERTY_STOPEXPAN, stopExpan);
    }

    public String getSourceType() {
        return (String) get(PROPERTY_SOURCETYPE);
    }

    public void setSourceType(String sourceType) {
        set(PROPERTY_SOURCETYPE, sourceType);
    }

    public Boolean isVirtualPart() {
        return (Boolean) get(PROPERTY_VIRTUALPART);
    }

    public void setVirtualPart(Boolean virtualPart) {
        set(PROPERTY_VIRTUALPART, virtualPart);
    }

    public EmesStation getEmesStation() {
        return (EmesStation) get(PROPERTY_EMESSTATION);
    }

    public void setEmesStation(EmesStation emesStation) {
        set(PROPERTY_EMESSTATION, emesStation);
    }

    public UOM getUom() {
        return (UOM) get(PROPERTY_UOM);
    }

    public void setUom(UOM uom) {
        set(PROPERTY_UOM, uom);
    }

    public BigDecimal getQtyReal() {
        return (BigDecimal) get(PROPERTY_QTYREAL);
    }

    public void setQtyReal(BigDecimal qtyReal) {
        set(PROPERTY_QTYREAL, qtyReal);
    }

    public String getLevel() {
        return (String) get(PROPERTY_LEVEL);
    }

    public void setLevel(String level) {
        set(PROPERTY_LEVEL, level);
    }

    public Long getSeqno() {
        return (Long) get(PROPERTY_SEQNO);
    }

    public void setSeqno(Long seqno) {
        set(PROPERTY_SEQNO, seqno);
    }

    public String getDescription() {
        return (String) get(PROPERTY_DESCRIPTION);
    }

    public void setDescription(String description) {
        set(PROPERTY_DESCRIPTION, description);
    }

    public Boolean isUploadButton() {
        return (Boolean) get(PROPERTY_UPLOADBUTTON);
    }

    public void setUploadButton(Boolean uploadButton) {
        set(PROPERTY_UPLOADBUTTON, uploadButton);
    }

    public Boolean isCheckButton() {
        return (Boolean) get(PROPERTY_CHECKBUTTON);
    }

    public void setCheckButton(Boolean checkButton) {
        set(PROPERTY_CHECKBUTTON, checkButton);
    }

    public Boolean isDiyFh() {
        return (Boolean) get(PROPERTY_DIYFH);
    }

    public void setDiyFh(Boolean diyFh) {
        set(PROPERTY_DIYFH, diyFh);
    }

    public EmesFile getEmesFile() {
        return (EmesFile) get(PROPERTY_EMESFILE);
    }

    public void setEmesFile(EmesFile emesFile) {
        set(PROPERTY_EMESFILE, emesFile);
    }

    public Boolean isDiyDx() {
        return (Boolean) get(PROPERTY_DIYDX);
    }

    public void setDiyDx(Boolean diyDx) {
        set(PROPERTY_DIYDX, diyDx);
    }

    public EmesProcess getEmesProcess() {
        return (EmesProcess) get(PROPERTY_EMESPROCESS);
    }

    public void setEmesProcess(EmesProcess emesProcess) {
        set(PROPERTY_EMESPROCESS, emesProcess);
    }

    public Boolean isDiyBdk() {
        return (Boolean) get(PROPERTY_DIYBDK);
    }

    public void setDiyBdk(Boolean diyBdk) {
        set(PROPERTY_DIYBDK, diyBdk);
    }

    public EmesColor getEmesColor() {
        return (EmesColor) get(PROPERTY_EMESCOLOR);
    }

    public void setEmesColor(EmesColor emesColor) {
        set(PROPERTY_EMESCOLOR, emesColor);
    }

    public EmesPBomFileGroup getEmesPbomFileGroup() {
        return (EmesPBomFileGroup) get(PROPERTY_EMESPBOMFILEGROUP);
    }

    public void setEmesPbomFileGroup(EmesPBomFileGroup emesPbomFileGroup) {
        set(PROPERTY_EMESPBOMFILEGROUP, emesPbomFileGroup);
    }

    public String getName() {
        return (String) get(PROPERTY_NAME);
    }

    public void setName(String name) {
        set(PROPERTY_NAME, name);
    }

    public String getCode() {
        return (String) get(PROPERTY_CODE);
    }

    public void setCode(String code) {
        set(PROPERTY_CODE, code);
    }

    public Boolean isDiy() {
        return (Boolean) get(PROPERTY_DIY);
    }

    public void setDiy(Boolean diy) {
        set(PROPERTY_DIY, diy);
    }

    @SuppressWarnings("unchecked")
    public List<EamFacilitiesColor> getEamFacilitiesColorList() {
      return (List<EamFacilitiesColor>) get(PROPERTY_EAMFACILITIESCOLORLIST);
    }

    public void setEamFacilitiesColorList(List<EamFacilitiesColor> eamFacilitiesColorList) {
        set(PROPERTY_EAMFACILITIESCOLORLIST, eamFacilitiesColorList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesPBomItem> getEmesPBomItemParentIDList() {
      return (List<EmesPBomItem>) get(PROPERTY_EMESPBOMITEMPARENTIDLIST);
    }

    public void setEmesPBomItemParentIDList(List<EmesPBomItem> emesPBomItemParentIDList) {
        set(PROPERTY_EMESPBOMITEMPARENTIDLIST, emesPBomItemParentIDList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesPBomItemDiy> getEmesPBomItemDiyList() {
      return (List<EmesPBomItemDiy>) get(PROPERTY_EMESPBOMITEMDIYLIST);
    }

    public void setEmesPBomItemDiyList(List<EmesPBomItemDiy> emesPBomItemDiyList) {
        set(PROPERTY_EMESPBOMITEMDIYLIST, emesPBomItemDiyList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesPBomItemFile> getEmesPBomItemFileList() {
      return (List<EmesPBomItemFile>) get(PROPERTY_EMESPBOMITEMFILELIST);
    }

    public void setEmesPBomItemFileList(List<EmesPBomItemFile> emesPBomItemFileList) {
        set(PROPERTY_EMESPBOMITEMFILELIST, emesPBomItemFileList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesPBomItemMete> getEmesPBomItemMeteList() {
      return (List<EmesPBomItemMete>) get(PROPERTY_EMESPBOMITEMMETELIST);
    }

    public void setEmesPBomItemMeteList(List<EmesPBomItemMete> emesPBomItemMeteList) {
        set(PROPERTY_EMESPBOMITEMMETELIST, emesPBomItemMeteList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesPBomItemShape> getEmesPBomItemShapeList() {
      return (List<EmesPBomItemShape>) get(PROPERTY_EMESPBOMITEMSHAPELIST);
    }

    public void setEmesPBomItemShapeList(List<EmesPBomItemShape> emesPBomItemShapeList) {
        set(PROPERTY_EMESPBOMITEMSHAPELIST, emesPBomItemShapeList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesPbomStation> getEmesPBomStationList() {
      return (List<EmesPbomStation>) get(PROPERTY_EMESPBOMSTATIONLIST);
    }

    public void setEmesPBomStationList(List<EmesPbomStation> emesPBomStationList) {
        set(PROPERTY_EMESPBOMSTATIONLIST, emesPBomStationList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesPbomKxxJoin> getEmesPbomKxxJoinList() {
      return (List<EmesPbomKxxJoin>) get(PROPERTY_EMESPBOMKXXJOINLIST);
    }

    public void setEmesPbomKxxJoinList(List<EmesPbomKxxJoin> emesPbomKxxJoinList) {
        set(PROPERTY_EMESPBOMKXXJOINLIST, emesPbomKxxJoinList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesPbomKxxJoin> getEmesPbomKxxJoinComponentPbomItemIDList() {
      return (List<EmesPbomKxxJoin>) get(PROPERTY_EMESPBOMKXXJOINCOMPONENTPBOMITEMIDLIST);
    }

    public void setEmesPbomKxxJoinComponentPbomItemIDList(List<EmesPbomKxxJoin> emesPbomKxxJoinComponentPbomItemIDList) {
        set(PROPERTY_EMESPBOMKXXJOINCOMPONENTPBOMITEMIDLIST, emesPbomKxxJoinComponentPbomItemIDList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesPbomKxxJoin> getEmesPbomKxxJoinKxxPbomItemIDList() {
      return (List<EmesPbomKxxJoin>) get(PROPERTY_EMESPBOMKXXJOINKXXPBOMITEMIDLIST);
    }

    public void setEmesPbomKxxJoinKxxPbomItemIDList(List<EmesPbomKxxJoin> emesPbomKxxJoinKxxPbomItemIDList) {
        set(PROPERTY_EMESPBOMKXXJOINKXXPBOMITEMIDLIST, emesPbomKxxJoinKxxPbomItemIDList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesPbomProcessFile> getEmesPbomProcessFileList() {
      return (List<EmesPbomProcessFile>) get(PROPERTY_EMESPBOMPROCESSFILELIST);
    }

    public void setEmesPbomProcessFileList(List<EmesPbomProcessFile> emesPbomProcessFileList) {
        set(PROPERTY_EMESPBOMPROCESSFILELIST, emesPbomProcessFileList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesProcessComponent> getEmesProcessComponentList() {
      return (List<EmesProcessComponent>) get(PROPERTY_EMESPROCESSCOMPONENTLIST);
    }

    public void setEmesProcessComponentList(List<EmesProcessComponent> emesProcessComponentList) {
        set(PROPERTY_EMESPROCESSCOMPONENTLIST, emesProcessComponentList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesoJobPlanBom> getEmesoJobPlanBomList() {
      return (List<EmesoJobPlanBom>) get(PROPERTY_EMESOJOBPLANBOMLIST);
    }

    public void setEmesoJobPlanBomList(List<EmesoJobPlanBom> emesoJobPlanBomList) {
        set(PROPERTY_EMESOJOBPLANBOMLIST, emesoJobPlanBomList);
    }

    @SuppressWarnings("unchecked")
    public List<EmespPlanOrderBom> getEmespPlanOrderBomList() {
      return (List<EmespPlanOrderBom>) get(PROPERTY_EMESPPLANORDERBOMLIST);
    }

    public void setEmespPlanOrderBomList(List<EmespPlanOrderBom> emespPlanOrderBomList) {
        set(PROPERTY_EMESPPLANORDERBOMLIST, emespPlanOrderBomList);
    }

}
